@echo off
setlocal enabledelayedexpansion

set PROTO_DIR=proto
set OUT_DIR=generated
set MODULE_NAME=expeditionjourney/generated

:: 设置proto路径 - 使用绝对路径
set CURRENT_DIR=%cd%
set PROTO_PATHS=--proto_path="%CURRENT_DIR%\%PROTO_DIR%"
for /d %%d in (%PROTO_DIR%\*) do (
    set PROTO_PATHS=!PROTO_PATHS! --proto_path="%CURRENT_DIR%\%%d"
)

:: 查找所有.proto文件 - 使用绝对路径
set PROTO_FILES=
for /r "%CURRENT_DIR%\%PROTO_DIR%" %%f in (*.proto) do (
    set PROTO_FILES=!PROTO_FILES! "%%f"
)

:: 检查protoc是否存在
where protoc >nul 2>nul
if %ERRORLEVEL% neq 0 (
    echo Error: protoc 命令未找到，请确保已安装 Protocol Buffers 并添加到 PATH
    exit /b 1
)

:: 生成命令并执行
echo 执行protoc命令...
protoc %PROTO_PATHS% --go_out=%OUT_DIR% --go_opt=module=%MODULE_NAME% %PROTO_FILES%

if %ERRORLEVEL% neq 0 (
    echo Error: protoc 命令执行失败
    exit /b 1
)

echo 代码生成完成！ 